package com.mengniu.commerce.sync.api.domain;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

@Data
public class PointsIncreaseModel {

    /**
     * 运营单位
     */
    @NotBlank(message = "operationUnitType must not null")
    private String operationUnitType;

    /**
     * 会员手机号 必传
     */
    @NotBlank(message = "mobile must not null")
    private String mobile;

    /**
     * 积分模板id 必传
     */
    @NotNull(message = "pointsTemplateId must not null")
    private Integer pointsTemplateId;

    /**
     * 积分值 必传
     */
    @NotNull(message = "pointsValue must not null")
    private Integer pointsValue;

    /**
     * 操作类型
     */
    private String operateCode;

    /**
     * 变更原因 必传
     */
    @NotBlank(message = "changeReasonCode must not null")
    private String changeReasonCode;

    /**
     * 积分生效时间  时间戳 ms
     */
    private Long effectiveTime;

    /**
     * 积分过期时间  时间戳 ms
     */
    @NotNull(message = "expireTime must not null")
    private Long expireTime;

    /**
     * 变更时间  时间戳
     */
    private Integer happenTime;

    /**
     * 渠道名称
     */
    @NotBlank(message = "channelName must not null")
    private String channelName;

    /**
     * 渠道事件
     */
    private String channelEvent;

    /**
     * 备注
     */
    private String note;

    /**
     * 积分流水单号 非空时支持幂等，最大长度64）
     */
    private String operationOrderNo;
}
